﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TDArrayTask3
{
    class Program
    {
        static void Main(string[] args)
        {
            //Пользователь задает размер квадратного двухмерного массива.
            //Массив заполняется случайными числами в диапазоне от - 100 до 100.
            //Найти сумму элементов расположенных на главной диагонале (i = j)

            Console.Write("Enter the size of a square array: ");
            int cell = Int32.Parse(Console.ReadLine());
            int[,] array = CountOfSumOfElementsOnTheMainDiagonal(cell, cell, -100, 100);
            PrintArray(array);
        }

        static int[,] CountOfSumOfElementsOnTheMainDiagonal(int rowCount, int columnCount, int randomMinValue, int randomMaxValue)
        {
            int[,] array = new int[rowCount, columnCount];
            int sum = 0;
            Random rnd = new Random();

            Console.Clear();
            for (int i = 0; i < rowCount; i++)
            {
                for (int j = 0; j < columnCount; j++)
                {
                    array[i, j] = rnd.Next(randomMinValue, randomMaxValue + 1);
                    if (i == j)
                    {
                        sum = sum + array[i, j];
                    }
                }
            }
            Console.WriteLine("Sum of elements on the main diagonal: {0}", sum);
            return array;
        }

        static void PrintArray(int[,] arrayForPrint)
        {
            for (int i = 0; i < arrayForPrint.GetLength(0); i++)
            {
                for (int j = 0; j < arrayForPrint.GetLength(1); j++)
                {
                    Console.Write("{0}\t", arrayForPrint[i, j]);
                }
                Console.WriteLine();
            }
        }
    }
}
